iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
0
自我挑戰組

30天教你學會Git系列 第 24

[Day24] 我們昨天說得好像...有點意思

  • 分享至 

  • xImage
  •  
  • 嘿有人跟我說,他覺得昨天那個check out可以救回檔案很酷,想問問看原理是啥~
  • 既然你都發問了..那我們的狀況處裡就先緩緩吧XD

Git怎麼使出起死回生的???

  • 這裡我們使用的git checkout指令呢,如果後面是放分支的話,他會切換到你要去的分支上

    • git checkout 分支名稱 , 這樣會切換分支
  • 如果今天git checkout後面放著是一份檔案的話,Git不會切換分支,他會到.git目錄裡面複製一分到目前的工作目錄

  • 說得更詳細一點....

    • git checkout 文件
    • 這樣會把暫存區(Staging Area)裡面的檔案拿來覆蓋工作目錄(Working Directory)的東西哦!
    • 所以當我今天git checkout 123.txt時,他會把這個123.txt的檔案回復到上一次的Commit的狀態
  • 若是今天,我們打的是git checkout .,它會讓所以檔案回復到上一次Commit的狀態

  • 當你真的了解了以後~你甚至可以再加上...

$ git checkout HEAD~2 123.txt
  • 記得我們之前有學過HEAD~2是什麼意思嗎?!
    • 沒錯,它會讓你回復到兩個版本以前的123.txt

看來今天還講不夠多~我再來講一個蠻有趣的狀況吧XDD

  • 敢問各位有沒有一種經驗就是...
  • 你發現有一行code特別醜,然後這行code會害你噴bug出來!
  • 你是不是想大吼一聲...這是誰寫的!!!!!!!
  • 沒有問題,Git也在這點幫你想好了
$ git blame index.html
e757fc37 src/index.html (Chess Kuo 2020-09-05 16:05:20 +0800  1) <!DOCTYPE html>
e757fc37 src/index.html (Chess Kuo 2020-09-05 16:05:20 +0800  2) <html>
e757fc37 src/index.html (Chess Kuo 2020-09-05 16:05:20 +0800  3) <head>
e757fc37 src/index.html (Chess Kuo 2020-09-05 16:05:20 +0800  4)        <title>AR</title>
e757fc37 src/index.html (Chess Kuo 2020-09-05 16:05:20 +0800  5)        <script src="https://aframe.io/releases/0.9.2/aframe.min.js"></script>
e757fc37 src/index.html (Chess Kuo 2020-09-05 16:05:20 +0800  6)        <script src="https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar.js"></script>
e757fc37 src/index.html (Chess Kuo 2020-09-05 16:05:20 +0800  7)        <!-- <script src="https://cdn.jsdelivr.net/gh/donmccurdy/aframe-extras@v6.1.0/dist/aframe-extras.min.js"></script> -->
e757fc37 src/index.html (Chess Kuo 2020-09-05 16:05:20 +0800  8)        <script src="js/main.js"></script>
f9629d34 src/index.html (Chess Kuo 2020-09-07 17:58:22 +0800  9)        <script src="js/custom-handler.js"></script>
e757fc37 src/index.html (Chess Kuo 2020-09-05 16:05:20 +0800 10)        <script src="js/gesture-detector.js"></script>
e757fc37 src/index.html (Chess Kuo 2020-09-05 16:05:20 +0800 11)        <script src="js/gesture-handler.js"></script>
175753f5 src/index.html (Chess Kuo 2020-09-06 14:52:56 +0800 12)        <link rel="stylesheet" type="text/css" href="css/style.css">
e757fc37 src/index.html (Chess Kuo 2020-09-05 16:05:20 +0800 13) </head>
e757fc37 src/index.html (Chess Kuo 2020-09-05 16:05:20 +0800 14) <body style="margin : 0px; overflow: hidden;">
175753f5 src/index.html (Chess Kuo 2020-09-06 14:52:56 +0800 15)        <div id="arjs-loader">
175753f5 src/index.html (Chess Kuo 2020-09-06 14:52:56 +0800 16)                <div>Loading, please wait...</div>
175753f5 src/index.html (Chess Kuo 2020-09-06 14:52:56 +0800 17)        </div>
4332a00f src/index.html (jerry     2020-10-03 22:01:19 +0800 18)        <div id = "buttons_area1">
4332a00f src/index.html (jerry     2020-10-03 22:01:19 +0800 19)        <button id = "start-btn" onclick="startbtn()"></button>
4332a00f src/index.html (jerry     2020-10-03 22:01:19 +0800 20)     </div>
4332a00f src/index.html (jerry     2020-10-03 22:01:19 +0800 21)     <div id = "buttons_area2">
4332a00f src/index.html (jerry     2020-10-03 22:01:19 +0800 22)        <button id = "close-btn" onclick="closebtn()">Back</button>
4332a00f src/index.html (jerry     2020-10-03 22:01:19 +0800 23)        <button id = "show-text" onclick="showText()">
  • 欸嘿,大家明顯可以看到裡面有兩人不同的名字:ChessKuo以及Jerry
  • 前面的Hash值就是他們在那次Commit時所新增的句子XD

雖然這是一個可以幫你抓到是誰在亂寫code的方式......不過你通常會發現那個亂寫code的人就是你自己啊XDDD


上一篇
[Day23]出狀況啦~~~~
下一篇
[Day25] 今天要來上點甚麼課呢!!!
系列文
30天教你學會Git30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言